package com.zenithmind.disk.pojo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "文件分享信息VO")
public class ShareVO {
    
    @Schema(description = "分享ID")
    private String id;
    
    @Schema(description = "用户ID")
    private String userId;
    
    @Schema(description = "文件ID")
    private String fileId;
    
    @Schema(description = "文件名称")
    private String fileName;
    
    @Schema(description = "文件类型")
    private String fileType;
    
    @Schema(description = "文件大小")
    private Long fileSize;
    
    @Schema(description = "是否为目录")
    private Boolean isDirectory;
    
    @Schema(description = "分享码")
    private String shareCode;
    
    @Schema(description = "分享链接")
    private String shareUrl;
    
    @Schema(description = "过期时间")
    private LocalDateTime expireTime;
    
    @Schema(description = "访问次数")
    private Integer accessCount;
    
    @Schema(description = "是否公开")
    private Boolean isPublic;
    
    @Schema(description = "提取密码")
    private String password;
    
    @Schema(description = "分享状态：0已取消，1有效")
    private Integer status;
    
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
} 